package com.lz.d;

import java.util.Scanner;

/**
 * @ClassName Demo37
 * @Description 古典问题：生兔兔问题
 * @Author 2214361854
 * @Date 2022/5/27 16:28
 * @Version 1.0
 */
public class Demo37 {
    /**
     * 有一对兔子，从出生后第3个月起都生一对兔子，小兔子长到第三个月后每个月又生一对兔子，
     * 假如兔子都不死，问每个月兔子的对数为多少？
     * <p>
     * 程序分析：前两个月兔子的对数为1
     * 从第三个月开始，兔子的对数变成了 2 3 5 8 13 21 …
     */
    public static void main(String[] args) {
        System.out.println("输入月份数：");
        int month = new Scanner(System.in).nextInt();
        System.out.println(month + "月后,兔子有：" + getSum(month) + "对");
    }

    private static int getSum(int month) {
        if (month == 1 || month == 2) {
            return 1;
        }
        int sum = 0;
        int a = 1;
        int b = 1;
        for (int i = 3; i <= month; i++) {
            sum = a + b;
            a = b;
            b = sum;
        }
        return sum;
    }
}
